package com.kcwl.carrier.domain.entity;

import com.kcwl.ddd.domain.entity.PageCondition;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author 刘旭超
 * @date 2022年07月19日 10:11
 * @Description 企业运力列表查询入参实体类
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class FirmCarrierInfoListCondition extends PageCondition {

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 驾驶证号
     */
    private String drivingLicenceNo;

    /**
     * 证件号
     */
    private String idCardNo;

    /**
     * 真实姓名
     */
    private String realName;

    /**
     * 身份类型，1司机，2经纪人，3车队长，4运力辅助人,5运输公司,7物流辅助服务商
     */
    private Integer identityType;

    /**
     * 身份集合
     */
    private List<Integer> identityList = new ArrayList<>();

    /**
     * 司机审核状态:0:未认证,1:待审核,2:已认证,3:已驳回
     */
    private Integer carrierAuthStatus;

    /**
     * 驾驶证准驾车型
     */
    private String allowDrivingModel;

    /**
     * 提交时间-开始时间
     */
    private Date submitStartDate;

    /**
     * 提交时间-结束时间
     */
    private Date submitEndDate;

    /**
     * 身份证到期时间-开始时间
     */
    private Date idCardEndTimeStartDate;

    /**
     * 身份证到期时间-结束时间
     */
    private Date idCardEndTimeEndDate;

    /**
     * 用户来源，0：自己平台注册，1：其他快成平台
     */
    private Integer userSource;

    /**
     * 手机号列表
     */
    private List<String> mobileList;

    /**
     * 实名认证状态，1：未认证，2：已认证，3：认证失败
     */
    private Integer userAuthStatus;

    /**
     * 审核人
     */
    private Long authenticationUserId;

    /**
     * 注册方式 1-APP注册
     */
    private Integer registerType;

    /**
     * 省编码
     */
    private List<String> provinceCodeList;

    /**
     * 市编码
     */
    private List<String> cityCodeList;

    /**
     * 区编码
     */
    private List<String> areaCodeList;

    /**
     * 审核时间-开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date authStartDate;

    /**
     * 审核时间-结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date authEndDate;

    /**
     * 用户标签 1测试 2 内部 3 真实
     */
    private Integer userTag;
}
